package cn.com.hhrcw.params;

import cn.com.hhrcw.base.BaseParams;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 职位-职位本位
 * @Author: jiangdong
 * @Date: 2020-10-29
 * @Version: V1.0
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "op_job参数", description = "职位-职位本位")
public class OpJobParams extends BaseParams implements Serializable {

    /**
     * 
     */
    private String id;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;

    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String updateBy;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private Boolean delFlag;

    /**
     * 所属部门
     */
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;

    /**
     * 
     */
    private String r1;

    /**
     * 
     */
    private String r2;

    /**
     * 
     */
    private String r3;

    /**
     * 
     */
    private String r4;

    /**
     * 
     */
    private String r5;

    /**
     * 
     */
    private String r6;

    /**
     * 
     */
    private String r7;

    /**
     * 
     */
    private String r8;

    /**
     * 
     */
    private String r9;

    /**
     * 
     */
    private String r10;

    /**
     * 招聘状态 0 招聘中  1已停止招聘
     */
    @ApiModelProperty(value = "招聘状态 0 招聘中  1已停止招聘")
    private Integer recruitmentState;

    /**
     * 职称要求 0 初级 1 中级 2 副高级 3 高级
     */
    @ApiModelProperty(value = "职称要求 0 初级 1 中级 2 副高级 3 高级")
    private Integer jobRequire;

    /**
     * 语言
     */
    @ApiModelProperty(value = "语言")
    private String language;

    /**
     * 上行年龄
     */
    @ApiModelProperty(value = "上行年龄")
    private Integer jobMaxAge;

    /**
     * 下行年龄
     */
    @ApiModelProperty(value = "下行年龄")
    private Integer jobMinAge;

    /**
     * 性别 0不限 1 男 2 女
     */
    @ApiModelProperty(value = "性别 0不限 1 男 2 女")
    private Integer jobSex;

    /**
     * 职业类别
     */
    private String jobTypeId;

    /**
     * 职业行业
     */
    private String jobIndustryId;

    /**
     * 职位性质 社会招聘：0-0全职 0-1兼职   校园招聘：1-0应届生 1-1实习生
     */
    @ApiModelProperty(value = "职位性质 社会招聘：0-0全职 0-1兼职   校园招聘：1-0应届生 1-1实习生")
    private String jobNature;

    /**
     * 招聘类型 0社招 1校招
     */
    @ApiModelProperty(value = "招聘类型 0社招 1校招")
    private Integer recruitType;

    /**
     * 岗位名称
     */
    @ApiModelProperty(value = "岗位名称")
    private String jobName;

    /**
     * 岗位职责
     */
    @ApiModelProperty(value = "岗位职责")
    private String jobDuty;

    /**
     * 岗位要求
     */
    @ApiModelProperty(value = "岗位要求")
    private String jobClaim;

    /**
     * 
     */
    private BigDecimal jobLatitude;

    /**
     * 
     */
    private BigDecimal jobLongitude;

    /**
     * 
     */
    private String jobProvinceString;

    /**
     * 
     */
    private String jobProvince;

    /**
     * 
     */
    private String jobCityString;

    /**
     * 
     */
    private String jobCity;

    /**
     * 具体工作地点
     */
    @ApiModelProperty(value = "具体工作地点")
    private String jobArea;

    /**
     * 最低工作经验
     */
    @ApiModelProperty(value = "最低工作经验")
    private Integer minExperience;

    /**
     * 最高工作经验
     */
    @ApiModelProperty(value = "最高工作经验")
    private Integer maxExperience;

    /**
     * 批次id
     */
    @ApiModelProperty(value = "批次id")
    private String bsId;

    /**
     * 批次/专场标识 0 批次 1 专场
     */
    @ApiModelProperty(value = "批次/专场标识 0 批次 1 专场")
    private Integer bsType;

    /**
     * 学历要求 0  1  2  分别代表啥
     */
    @ApiModelProperty(value = "学历要求 0  1  2  分别代表啥")
    private Integer eduLevel;

    /**
     * 招聘人数
     */
    @ApiModelProperty(value = "招聘人数")
    private Integer needCount;

    /**
     * 薪资下限 元
     */
    @ApiModelProperty(value = "薪资下限 元")
    private Integer minMoney;

    /**
     * 薪资上限
     */
    @ApiModelProperty(value = "薪资上限")
    private Integer maxMoney;

    /**
     * 
     */
    private String jobDescribe;

    /**
     * 所属公司
     */
    @ApiModelProperty(value = "所属公司")
    private String companyId;

    /**
     * 
     */
    private String contactPhone;

    /**
     * 
     */
    private String contactName;

    /**
     * 
     */
    private Integer topNo;

    /**
     * 
     */
    private Boolean topFlag;

    /**
     * 
     */
    private Date closeTime;

    /**
     * 院校性质 0普通大学 1 211院校 2 985院校
     */
    private Integer schoolLevel;

    @ApiModelProperty(value = "是否统招 true是 false不是")
    @NotNull(message = "0统招1非统招2海外留学必填")
    /**
     * 2020.12.30修改为0统招1非统招2海外留学
     */
    @Excel(name = "是否统招", replace = {"0_统招", "1_非统招", "2_海外留学"})
    @Dict(replace = {"0_统招", "1_非统招", "2_海外留学"})
    private Integer recruitmentFlag;

    /**
     * 
     */
    private Boolean filterFlag;

    /**
     * 
     */
    private String filterId;

    /**
     * 推荐标识  true推荐 false不推荐
     */
    @ApiModelProperty(value = "推荐标识  true推荐 false不推荐")
    private Boolean recommendFlag;

    /**
     * 推荐序号 均是推荐状态下序号越小越靠前
     */
    @ApiModelProperty(value = "推荐序号 均是推荐状态下序号越小越靠前")
    private Integer recommendNo;

    /**
     * 职位浏览量
     */
    @ApiModelProperty(value = "职位浏览量")
    private Integer browseCount;

    /**
     * 投递量
     */
    @ApiModelProperty(value = "投递量")
    private Integer deliveryCount;

    /**
     * 收藏量
     */
    @ApiModelProperty(value = "收藏量")
    private Integer collectionCount;

    /**
     * 专业要求
     */
    private String subject;

    /**
     * 发布系统  1 企业端  2平台端
     */
    private Integer sysFrom;

    /**
     * 区/县id
     */
    private String jobCounty;

}
